Automating Failure Detection in Cognitive Agent Programs
نویسندگان
چکیده
Debugging is notoriously difficult and extremely time consuming but also essential for ensuring the reliability and quality of a software system. In order to reduce debugging effort and enable automated failure detection, we propose an automated testing framework for detecting failures in cognitive agent programs. Our approach is based on the assumption that modules within such programs are a natural unit for testing. We identify a minimal set of temporal operators that enable the specification of test conditions and show that the test language is sufficiently expressive for detecting all failures in an existing failure taxonomy. We also introduce an approach for specifying test templates that supports a programmer in writing tests. Furthermore, empirical analysis of agent programs allows us to evaluate whether our approach using test templates detects all failures.
منابع مشابه
A Mobile Agent-based Architecture for Distributed Program Supervision Systems
Program Supervision aims at automating the use of complex programs, independently of any particular application domain. Program Supervision Knowledge-Based Systems (KBS) offer original techniques to plan and control program processing activities. The distribution of such systems becomes essential because real applications imply more and more participants on various sites. It allows either to si...
متن کاملAtomic Intentions in Jason +
We consider interactions between atomic intentions and plan failures in the Jason BDI-based agent programming language. Atomic intentions allow the agent developer to control the execution of intentions in situations where a sequence of actions must be executed ‘atomically’ in order to ensure the success of a plan. However, while atomic intentions in Jason enforce mutual exclusion, they are not...
متن کاملUsing Automatic Failure Detection for Cognitive Agents in Eclipse: (Demonstration)
In order to reduce debugging effort and enable automated failure detection, we proposed an automated testing framework for cognitive agent programs that provides support for detecting frequently occurring failure types in [14]. Automated testing yields a reduction in the effort needed to detect a failure and is more effective than manual code inspection methods [16]. A failure is an event in wh...
متن کاملDebugging Agent Programs with Why?: Questions
Debugging is hard, and debugging cognitive agent programs is particularly hard, since they involve concurrency, a dynamic environment, and a complex execution model that includes failure handling. Previous work by Ko & Myers has demonstrated that providing Alice and Java programmers with software that can answer “why?” and “why not?” questions can make a dramatic difference to debugging perform...
متن کاملAutomating Fault Tolerance in High-Performance Computational Biological Jobs Using Multi-Agent Approaches
BACKGROUND Large-scale biological jobs on high-performance computing systems require manual intervention if one or more computing cores on which they execute fail. This places not only a cost on the maintenance of the job, but also a cost on the time taken for reinstating the job and the risk of losing data and execution accomplished by the job before it failed. Approaches which can proactively...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016